Quality

Here are the principles we follow to ensure the quality of our products.

Linters

Testing

The documentation describes the tests. A tool extracts the examples given in the documentation and ensures that the stated functionality exists in the project.

The recommended kind of testing is acceptance tests.\nThe tests are unaware of the implementation of the feature they are testing. They check that given the input the output is as expected. For example, when the compiler parses a file, it generates X amount of files, and those files have no syntactical errors.

Parser

The following code should compile without parsing errors:

something { component value }

The following should fail at parsing with the parsing error of unexpected EOF:

something { component value

We should be able to explain these texts in a more human friendly way, but still automate them to check their veracity.